案例11.1 视频教程
题目:试编程实现Relief算法,并考察其在西瓜数据集3.0上的运行结果。
步骤1:在“项目模板”中找到周志华习题,打开第十一章特征选择与稀疏学习习题案例11.1,创建模板。
步骤2:在“EXCEL上传”模块上传excel,这里用到的是西瓜数据集3.0.
步骤3:在全部组件列表搜索“VS Code Python”模块,拖到操作界面内,在“参数设置”中勾选上“编辑”,在点击运行该节点,在操作中“编辑VS Code”,编写将excel文件的数据转换为CSV格式的文件的代码。注意编写完之后要重新勾掉“编辑”选项,才可以运行程序。
步骤4:在全部组件列表搜索“序数编码”模块,拖到操作界面内,在字段设置的“目标字段”中输入“色泽,根蒂,敲声,纹理,脐部,触感,好瓜”特征字段。该模块主要用来将分类特征编码为整数数组。该模块的输入应为整数或者字符串的数组,表示分类特征采用的值。目的是找到每个特征的唯一值,然后将数据转换为叙述编码。
步骤5:第一种方法,在全部组件列表搜索“选择K个最高分特征SelectKbest”,参数设置中的score_func为函数接收两个数据并返回一对或单个数组,默认为f_classif,适用于分类任务。k表示要选择的主要功能数。这里设置k为5.表示最终剩余特征数为5。输出结果为五个特征的排序。
步骤6:第二种方法,在全部组件列表中找到“岭分类”组件,属于使用ridge回归的分类器,设置好特征字段。岭回归就是在基本的线性回归中加入了正则项。
步骤7:在全部组件列表中找到“递归式特征消除RFE”组件,是给定将权重分配给特征的外部估计器,目标是通过递归考虑越来越少的特征集来选择特征。参数设置中的,特征数表示要选择的功能数量。这里设置特征数为5,Step对应于每次迭代要删除的特征数。这里设置为1.每次删除1个特征数。设置好特征字段,注意不要将编号选进去。最终结果为5个特征值的排序。
步骤8:第三种方法,通过VS Code Python 组件来实现relief算法,“参数设置”中勾选上“编辑”,在点击运行该节点,在操作中“编辑VS Code”,编写将图片矩阵化的代码。注意编写完之后要重新勾掉“编辑”选项,才可以运行程序。输出数据为各个特征的权重值。可以根据这个值来删选特征。